package base.dao;

import java.util.List;

public interface BaseDao<T> {

	
	/**
	 * 增加
	 * @param entity
	 * @return
	 * @throws Exception
	 */
	int add(T entity) throws Exception;
	
	/**
	 * 删除
	 * @param id
	 * @return
	 * @throws Exception
	 */
	int deleteById(Integer id) throws Exception;
	
	int deleteById(String id) throws Exception;
	
	/**
	 *修改
	 * @param t
	 * @return
	 * @throws Exception
	 */
	int update(T t) throws Exception;
	
	
	/**
	 * 根据id查找一个实体对象
	 * @param id  要查找的id
	 * @return
	 * @throws Exception
	 */
	T findById(Integer id) throws Exception;
	
	T findById(String id) throws Exception;
	
	/**
	 * 查询所有
	 * @return  查询到的集合
	 * @throws Exception
	 */
	List<T> findAll() throws Exception;
	
	/**
	 * 分页
	 * @param currentPage 第几页   currentPage=1开始   （currentPage-1）*pageSize
	 * @param pageSize 分几页
	 * @return
	 * @throws Exception
	 */
	List<T> findWithPage(Integer currentPage,Integer pageSize) throws Exception;
	
	
	
}
